/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ee.cybertron.energon.components;

import com.ee.cybertron.energon.base.ServicioBase;
import com.ee.cybertron.energon.loader.LoaderComponent;
import com.ee.cybertron.energon.model.Mensaje;
import com.ee.cybertron.energon.model.User;
import com.ee.cybertron.energon.util.Mensajes;
import com.icesoft.faces.component.ext.HtmlPanelGroup;
import java.util.List;
import javax.faces.component.UIComponent;

/**
 *
 * @author stevenziggiz
 */
public class CyberPanelGroup extends HtmlPanelGroup {

    public CyberPanelGroup() {
    }

    public void rendered(User user) {
        CyberPanelCollapsible panelCollapsible;
        LoaderComponent ctrlComponent;
        CyberInputText inputText;
        CyberSelectOneMenu selectOneMenu;
        Mensaje mensaje;
        ServicioBase servicio = new ServicioBase();
        for (UIComponent uIComponent : this.getChildren()) {
            panelCollapsible = (CyberPanelCollapsible) uIComponent;
            if (!panelCollapsible.getRole().equals(user.getIdProfile().getName())) {
                panelCollapsible.setRendered(false);
            } else {
                if (panelCollapsible.getTypeForm().equals("approver")) {
                    ctrlComponent = new LoaderComponent();
                    mensaje = (Mensaje) servicio.executeQueryR("Select * FROM mensaje limit 1", Mensaje.class);
                    panelCollapsible.setColumnId(mensaje.getNombreId());
                    panelCollapsible.setValueColumnId(mensaje.getIdTabla());
                    for (UIComponent uic : panelCollapsible.getChildren().get(0).getChildren()) {
                        if (uic instanceof CyberInputText) {
                            inputText = (CyberInputText) uic;
                            ctrlComponent.obtainValue(inputText, mensaje.getNombreId(), mensaje.getIdTabla());
                        } else {
                            if (uic instanceof CyberSelectOneMenu) {
                                selectOneMenu = (CyberSelectOneMenu) uic;
                                ctrlComponent.obtainValue(selectOneMenu, mensaje.getNombreTabla(), mensaje.getNombreId(), mensaje.getIdTabla());
                            }
                        }
                    }
                }
            }
        }
    }
}
